
package com.jf.cloud.live.mapper;

import com.jf.cloud.live.dto.LiveProdStoreDTO;
import com.jf.cloud.live.model.LiveProdStore;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 直播商品
 *
 * @author zz
 * @date 2022-08-17 17:09:06
 */
public interface LiveProdStoreMapper {

    /**
     * 获取直播商品列表
     * @return 直播商品列表
     */
    List<LiveProdStore> list(@Param("liveProdStoreDTO") LiveProdStoreDTO liveProdStoreDTO);

    /**
     * 根据直播商品id获取直播商品
     *
     * @param liveProdStoreId 直播商品id
     * @return 直播商品
     */
    LiveProdStore getByLiveProdStoreId(@Param("liveProdStoreId") Long liveProdStoreId);

    /**
     * 保存直播商品
     * @param liveProdStore 直播商品
     */
    void save(@Param("liveProdStore") LiveProdStore liveProdStore);

    /**
     * 更新直播商品
     * @param liveProdStore 直播商品
     */
    int update(@Param("liveProdStore") LiveProdStore liveProdStore);

    /**
     * 根据直播商品id删除直播商品
     * @param liveProdStoreId
     */
    void deleteById(@Param("liveProdStoreId") Long liveProdStoreId);

    /**
     * 根据直播间id获取直播间的商品信息
     * @param roomId
     */
    List<LiveProdStore> pageProdByRoomId(@Param("roomId")Integer roomId);

    /**
     * 批量更新
     * @param liveProdStores
     */
    void updateBatch(@Param("liveProdStores")List<LiveProdStore> liveProdStores);

    /**
     * 根据商品库id获取商品库信息
     * @param prodStoreIds
     * @return
     */
    List<LiveProdStore> pageProdStoreByIds(@Param("prodStoreIds") List<Long> prodStoreIds);
}
